    private void handleCartItems(List<CartVO> vos) {
        // 1.获取商品id
        Set<Long> itemIds = vos.stream().map(CartVO::getItemId).collect(Collectors.toSet());
        
        // 2.查询商品
        List<ItemDTO> items = new ArrayList<>();
        if (!CollUtils.isEmpty(itemIds)) {
            try {
                // 将Set转换为List以确保类型兼容性
                List<Long> itemIdList = new ArrayList<>(itemIds);
                items = itemClient.queryItemByIds(itemIdList);
            } catch (FeignException e) {
                log.error("Feign调用查询商品信息失败: ids = {}", itemIds, e);
                throw new BizIllegalException("查询商品信息失败", e);
            }
        }
        
        if (CollUtils.isEmpty(items)) {
            return;
        }
        // 3.转为 id 到 item的map
        Map<Long, ItemDTO> itemMap = items.stream().collect(Collectors.toMap(ItemDTO::getId, Function.identity()));
        // 4.写入vo
        for (CartVO v : vos) {
            ItemDTO item = itemMap.get(v.getItemId());